package com.yimu.system.domain;

import java.math.BigDecimal;
import java.util.List;
import java.util.Date;
import com.yimu.common.annotation.Excel;
import com.yimu.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 订单测试对象 orders
 * 
 * @author Christine
 * @date 2020-08-26
 */
public class Orders extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @Excel(name = "主键ID")
    private Long Id;

    /** 订单号 */
    @Excel(name = "订单号")
    private String OrderNum;

    /** 订单类型(1:售货机，2:充电桩，3:微重力自取柜) */
    @Excel(name = "订单类型(1:售货机，2:充电桩，3:微重力自取柜)")
    private String OrderType;

    /** 用户openId */
    @Excel(name = "用户openId")
    private String OpenId;

    /** 设备编号 */
    @Excel(name = "设备编号")
    private String DeviceNum;

    /** 渠道商ID */
    @Excel(name = "渠道商ID")
    private Long DistributorId;

    /** 代理商ID */
    @Excel(name = "代理商ID")
    private Long AgentId;

    /** 收款账户类型 1/2/3  平台/渠道商/代理商 */
    @Excel(name = "收款账户类型 1/2/3  平台/渠道商/代理商")
    private String ReceiptAccountType;

    /** 清算的代理商Id */
    @Excel(name = "清算的代理商Id")
    private Long ClearAgentId;

    /** 用户昵称 */
    @Excel(name = "用户昵称")
    private String UserMobile;

    /** 用户交易流水号 */
    @Excel(name = "用户交易流水号")
    private String UserTransactionUid;

    /** 支付单号 */
    @Excel(name = "支付单号")
    private String OutTradeNo;

    /** 总价 */
    @Excel(name = "总价")
    private BigDecimal TotalAmount;

    /** 支付方式 0未支付 1微信支付 2支付宝支付 3会员支付 4零元购 */
    @Excel(name = "支付方式 0未支付 1微信支付 2支付宝支付 3会员支付 4零元购")
    private String PayType;

    /** 支付状态 2未支付 1已支付 */
    @Excel(name = "支付状态 2未支付 1已支付")
    private String PayStatus;

    /** 是否已清算 2未清算1已清算 */
    @Excel(name = "是否已清算 2未清算1已清算")
    private String IsClear;

    /** 退款状态 2未退款 1线上已退款 3线下退款 */
    @Excel(name = "退款状态 2未退款 1线上已退款 3线下退款")
    private String RefundStatus;

    /** 订单状态 1正常 2异常 3网络拥堵 4确定没收到出货指令 5数据丢失 */
    @Excel(name = "订单状态 1正常 2异常 3网络拥堵 4确定没收到出货指令 5数据丢失")
    private String Status;

    /** 支付时间 */
    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date PayDatetime;

    /** 订单创建时间 */
    @Excel(name = "订单创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date AddDatetime;

    /** 设备id */
    @Excel(name = "设备id")
    private Long DeviceId;

    /** 订单利润 */
    @Excel(name = "订单利润")
    private BigDecimal profit;

    /** 终端列表信息 */
    private List<Devices> devicesList;

    public void setId(Long Id) 
    {
        this.Id = Id;
    }

    public Long getId() 
    {
        return Id;
    }
    public void setOrderNum(String OrderNum) 
    {
        this.OrderNum = OrderNum;
    }

    public String getOrderNum() 
    {
        return OrderNum;
    }
    public void setOrderType(String OrderType) 
    {
        this.OrderType = OrderType;
    }

    public String getOrderType() 
    {
        return OrderType;
    }
    public void setOpenId(String OpenId) 
    {
        this.OpenId = OpenId;
    }

    public String getOpenId() 
    {
        return OpenId;
    }
    public void setDeviceNum(String DeviceNum) 
    {
        this.DeviceNum = DeviceNum;
    }

    public String getDeviceNum() 
    {
        return DeviceNum;
    }
    public void setDistributorId(Long DistributorId) 
    {
        this.DistributorId = DistributorId;
    }

    public Long getDistributorId() 
    {
        return DistributorId;
    }
    public void setAgentId(Long AgentId) 
    {
        this.AgentId = AgentId;
    }

    public Long getAgentId() 
    {
        return AgentId;
    }
    public void setReceiptAccountType(String ReceiptAccountType) 
    {
        this.ReceiptAccountType = ReceiptAccountType;
    }

    public String getReceiptAccountType() 
    {
        return ReceiptAccountType;
    }
    public void setClearAgentId(Long ClearAgentId) 
    {
        this.ClearAgentId = ClearAgentId;
    }

    public Long getClearAgentId() 
    {
        return ClearAgentId;
    }
    public void setUserMobile(String UserMobile) 
    {
        this.UserMobile = UserMobile;
    }

    public String getUserMobile() 
    {
        return UserMobile;
    }
    public void setUserTransactionUid(String UserTransactionUid) 
    {
        this.UserTransactionUid = UserTransactionUid;
    }

    public String getUserTransactionUid() 
    {
        return UserTransactionUid;
    }
    public void setOutTradeNo(String OutTradeNo) 
    {
        this.OutTradeNo = OutTradeNo;
    }

    public String getOutTradeNo() 
    {
        return OutTradeNo;
    }
    public void setTotalAmount(BigDecimal TotalAmount) 
    {
        this.TotalAmount = TotalAmount;
    }

    public BigDecimal getTotalAmount() 
    {
        return TotalAmount;
    }
    public void setPayType(String PayType) 
    {
        this.PayType = PayType;
    }

    public String getPayType() 
    {
        return PayType;
    }
    public void setPayStatus(String PayStatus) 
    {
        this.PayStatus = PayStatus;
    }

    public String getPayStatus() 
    {
        return PayStatus;
    }
    public void setIsClear(String IsClear) 
    {
        this.IsClear = IsClear;
    }

    public String getIsClear() 
    {
        return IsClear;
    }
    public void setRefundStatus(String RefundStatus) 
    {
        this.RefundStatus = RefundStatus;
    }

    public String getRefundStatus() 
    {
        return RefundStatus;
    }
    public void setStatus(String Status) 
    {
        this.Status = Status;
    }

    public String getStatus() 
    {
        return Status;
    }
    public void setPayDatetime(Date PayDatetime) 
    {
        this.PayDatetime = PayDatetime;
    }

    public Date getPayDatetime() 
    {
        return PayDatetime;
    }
    public void setAddDatetime(Date AddDatetime) 
    {
        this.AddDatetime = AddDatetime;
    }

    public Date getAddDatetime() 
    {
        return AddDatetime;
    }
    public void setDeviceId(Long DeviceId) 
    {
        this.DeviceId = DeviceId;
    }

    public Long getDeviceId() 
    {
        return DeviceId;
    }
    public void setProfit(BigDecimal profit) 
    {
        this.profit = profit;
    }

    public BigDecimal getProfit() 
    {
        return profit;
    }

    public List<Devices> getDevicesList()
    {
        return devicesList;
    }

    public void setDevicesList(List<Devices> devicesList)
    {
        this.devicesList = devicesList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("Id", getId())
            .append("OrderNum", getOrderNum())
            .append("OrderType", getOrderType())
            .append("OpenId", getOpenId())
            .append("DeviceNum", getDeviceNum())
            .append("DistributorId", getDistributorId())
            .append("AgentId", getAgentId())
            .append("ReceiptAccountType", getReceiptAccountType())
            .append("ClearAgentId", getClearAgentId())
            .append("UserMobile", getUserMobile())
            .append("UserTransactionUid", getUserTransactionUid())
            .append("OutTradeNo", getOutTradeNo())
            .append("TotalAmount", getTotalAmount())
            .append("PayType", getPayType())
            .append("PayStatus", getPayStatus())
            .append("IsClear", getIsClear())
            .append("RefundStatus", getRefundStatus())
            .append("Status", getStatus())
            .append("PayDatetime", getPayDatetime())
            .append("AddDatetime", getAddDatetime())
            .append("DeviceId", getDeviceId())
            .append("profit", getProfit())
            .append("devicesList", getDevicesList())
            .toString();
    }
}
